package com.hzhc.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzhc.dto.BaseDto;
import com.hzhc.entity.CarInfo;
import com.hzhc.entity.UserMember;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 用户会员表
 * </p>
 *
 * @author 功不唐捐
 * @since 2023-11-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class UserMemberVo extends BaseDto implements Serializable {

    private Long id;

    /**
     * 登入名
     */
    private String username;

    /**
     * 密码
     */
    private String password;
    private String realPassword;

    /**
     * 旧密码
     */
    private String oldpassword;

    /**
     * 小程序用户的openid
     */
    private String openid;

    /**
     * 盐值
     */
    private String salt;

    /**
     * email
     */
    private String email;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String telephone;

    /**
     * 所属公司
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long companyId;

    @Excel(name = "所属车队公司")
    private String companyName;

    /**
     * 状态（1：正常，0：锁定）
     */
    private Integer status;

    /**
     * 性别（0：女，1：男）
     */
    @Excel(name = "性别(0:女，1:男)")
    private Integer gender;

    /**
     * 真正名字
     */
    @Excel(name = "姓名")
    private String realName;

    /**
     * 用户昵称
     */
    private String nickname;

    /**
     * 成员类型
     */
    private String memberType;
    private String memberTypeName;

    /**
     * 一站式角色
     */
    private String yzsRole;

    /**
     * 头像url
     */
    private String avatarUrl;

    /**
     * 最后登录IP
     */
    private String lastLoginIp;

    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginTime;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 是否显示（0显示，1不显示）
     */
    private Boolean disable;

    /**
     * 创建者
     */
    private Long userId;

    /**
     * 修改人
     */
    private Long updateUserId;

    /**
     * 会员Id
     */
    private Long memberId;

    /**
     * 修改人会员Id
     */
    private Long updateMemberId;

    /**
     * 用户姓名
     */
    private String userName;

    /**
     * 修改人姓名
     */
    private String updateUserName;

    /**
     * 签字路径
     */
    private String sign;

    /**
     * 微信角色id
     */
    private Long sysWxRoleId;

    private Long userMemberId;

    private String token;

    private String userType;

    /**
     * 会员车牌号
     */
    private String carNo;

    /**
     * 用户类型（0：外部，1：内部）
     */
    private Integer inoutflag;

    /**
     * 一站式名称
     */
    private String yzsName;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * websocket地址
     */
    private String webSocketUrl;


    /**
     * 登录次数
     */
    private Integer loginNum;

    /**
     * 允许登录时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private LocalDateTime loginTime;

    private String showMsg;//显示内容

    private String fleet;//车队id字符串

    private String carTeamName;//车队name

    private Integer isBlack;//黑名单 司机  默认0，是1

    private Integer isWhite;//是否是白名单  0：否，1：是

    private String sendPort;//发站

    private List<UserMember> drivers;//司机导入

    private String errorInfo;

    private String nameSimple;

    /**
     * 单点登录用户id
     */
    private Integer oneId;


}
